package com.sheng.leetcode.year2023.month10.day17;

import org.junit.Test;

/**
 * @author by ls
 * @date 2023/10/17
 * <p>
 * 2652. 倍数求和<p>
 * <p>
 * 给你一个正整数 n ，请你计算在 [1，n] 范围内能被 3、5、7 整除的所有整数之和。<p>
 * 返回一个整数，用于表示给定范围内所有满足约束条件的数字之和。<p>
 * <p>
 * 示例 1：<p>
 * 输入：n = 7<p>
 * 输出：21<p>
 * 解释：在 [1, 7] 范围内能被 3、5、7 整除的所有整数分别是 3、5、6、7 。数字之和为 21 。<p>
 * <p>
 * 示例 2：<p>
 * 输入：n = 10<p>
 * 输出：40<p>
 * 解释：在 [1, 10] 范围内能被 3、5、7 整除的所有整数分别是 3、5、6、7、9、10 。数字之和为 40 。<p>
 * <p>
 * 示例 3：<p>
 * 输入：n = 9<p>
 * 输出：30<p>
 * 解释：在 [1, 9] 范围内能被 3、5、7 整除的所有整数分别是 3、5、6、7、9 。数字之和为 30 。<p>
 * <p>
 * 提示：<p>
 * 1 <= n <= 10^3<p>
 */
public class LeetCode2652 {

    @Test
    public void test01() {
//        int n = 7;
//        int n = 10;
        int n = 9;
        System.out.println(new Solution().sumOfMultiples(n));
    }
}

class Solution {
    public int sumOfMultiples(int n) {
        int ans = 0;
        for (int i = 1; i <= n; i++) {
            if (i % 3 == 0 || i % 5 == 0 || i % 7 == 0) {
                ans += i;
            }
        }
        return ans;
    }
}
